์ž‘์„ฑ: 2026-03-06 06:35:13์ˆ˜์ •: 2026-03-06 06:35:13

Proxmox์— VSCode Server(Code-Server) ์„ค์น˜ํ•˜์—ฌ ์›๊ฒฉ ์ฝ”๋”ฉ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

Proxmox ํ™ˆ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•œ ๋’ค ๊ฐ€์žฅ ๋จผ์ € ํ•˜๊ณ  ์‹ถ์€ ์ผ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ ์–ด๋””์„œ๋“  ์ ‘์† ๊ฐ€๋Šฅํ•œ ์ฝ”๋”ฉ ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” Proxmox ์œ„์— VSCode Server(Code-Server)๋ฅผ ์„ค์น˜ํ•˜๊ณ , ์™ธ๋ถ€์—์„œ๋„ ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


1. ์™œ Proxmox์— VSCode Server๋ฅผ ์„ค์น˜ํ•˜๋‚˜์š”?

  • ๋””๋ฐ”์ด์Šค ๋…๋ฆฝ์„ฑ: ํƒœ๋ธ”๋ฆฟ, ๋…ธํŠธ๋ถ, PC ์–ด๋””์„œ๋“  ๋ธŒ๋ผ์šฐ์ €๋งŒ ์žˆ์œผ๋ฉด ๋™์ผํ•œ ์ฝ”๋”ฉ ํ™˜๊ฒฝ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ: ์ €์‚ฌ์–‘ ๋…ธํŠธ๋ถ์—์„œ๋„ ์„œ๋ฒ„์˜ ๊ฐ•๋ ฅํ•œ CPU์™€ RAM์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Proxmox์˜ ์œ ์—ฐ์„ฑ: LXC ์ปจํ…Œ์ด๋„ˆ๋‚˜ VM์œผ๋กœ ๊ฐ€๋ณ๊ฒŒ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ์‹œ์Šคํ…œ์ด ๊น”๋”ํ•ฉ๋‹ˆ๋‹ค.

2. ์‚ฌ์ „ ์ค€๋น„์‚ฌํ•ญ

  • Proxmox ์„œ๋ฒ„๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์•„์ง ์„ค์น˜ ์ „์ด๋ผ๋ฉด Proxmox ํ™ˆ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ ์ฐธ๊ณ )
  • Ubuntu LXC ์ปจํ…Œ์ด๋„ˆ ๋˜๋Š” VM (์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ๊ฐ€๋ฒผ์šด LXC ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.)
  • Docker ์„ค์น˜ (๊ถŒ์žฅ)

3. VSCode Server (Code-Server) ์„ค์น˜ํ•˜๊ธฐ

๊ฐ€์žฅ ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์šด Docker Compose ๋ฐฉ์‹์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

3.1 Docker Compose ํŒŒ์ผ ์ž‘์„ฑ

LXC ๋‚ด ์ ์ ˆํ•œ ์œ„์น˜์— docker-compose.yml ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

version: "3"
services:
  code-server:
    image: codercom/code-server:latest
    container_name: code-server
    environment:
      - PASSWORD=your_secure_password  # ์ ‘์† ๋น„๋ฐ€๋ฒˆํ˜ธ ์„ค์ •
      - TZ=Asia/Seoul
    volumes:
      - ./config:/home/coder/.config
      - ./project:/home/coder/project  # ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋  ํด๋”
    ports:
      - 8080:8080
    restart: unless-stopped

3.2 ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰

docker compose up -d

์ด์ œ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ http://[LXC-IP]:8080์œผ๋กœ ์ ‘์†ํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด VSCode ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


4. ์™ธ๋ถ€ ์ ‘์† ์„ค์ • (Nginx Proxy Manager)

์ง‘ ๋ฐ–์—์„œ๋„ ์ ‘์†ํ•˜๋ ค๋ฉด ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ๊ณผ SSL ๋ณด์•ˆ ์„ค์ •์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

  1. Nginx Proxy Manager(NPM) ๊ด€๋ฆฌ ํŽ˜์ด์ง€์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค. (NPM ์„ค์น˜ ๋ฐฉ๋ฒ• ๋ฐ”๋กœ๊ฐ€๊ธฐ)
  2. Proxy Host๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • Domain Names: vscode.yourdomain.com
    • Scheme: http
    • Forward Hostname / IP: VSCode Server๊ฐ€ ์„ค์น˜๋œ LXC์˜ IP
    • Forward Port: 8080
    • Websockets Support: ๋ฐ˜๋“œ์‹œ ์ฒดํฌ (VSCode์˜ ํ„ฐ๋ฏธ๋„ ๋ฐ ์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.)
  3. SSL ํƒญ์—์„œ Let's Encrypt ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

5. ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๋ฐ ํŒ

ํ„ฐ๋ฏธ๋„์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋‚˜์š”?

NPM ์„ค์ •์—์„œ Websockets Support๋ฅผ ํ™œ์„ฑํ™”ํ–ˆ๋Š”์ง€ ๋‹ค์‹œ ํ™•์ธํ•˜์„ธ์š”. VSCode์™€ ๋ธŒ๋ผ์šฐ์ € ๊ฐ„์˜ ํ†ต์‹ ์€ ์›น์†Œ์ผ“์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ ๋ฌธ์ œ (Permission Denied)

Docker ๋ณผ๋ฅจ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ํด๋”์˜ ๊ถŒํ•œ์ด coder ์œ ์ž(UID 1000)์—๊ฒŒ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

sudo chown -R 1000:1000 ./project

๋งˆ์น˜๋ฉฐ

์ด์ œ Proxmox ํ™ˆ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๋‚˜๋งŒ์˜ ํด๋ผ์šฐ๋“œ IDE ํ™˜๊ฒฝ์„ ๊ฐ–์ถ”๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์–ธ์ œ ์–ด๋””์„œ๋“  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด์–ด ์ฝ”๋”ฉ์„ ์ด์–ด๊ฐ€ ๋ณด์„ธ์š”!

๊ด€๋ จ ํ‚ค์›Œ๋“œ: proxmox vscode server, code-server ์„ค์น˜, proxmox ํ™ˆ์„œ๋ฒ„ ๊ตฌ์ถ•, nginx proxy manager vscode